package news.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import news.dao.NewsTypeDao;
import news.model.NewsType;
import news.util.JWTUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
@Service
@Transactional
public class NewsTypeService {
    @Autowired(required = false)
    NewsTypeDao newsTypeDao;

    //查询所有新闻类型元素并分页
    public PageInfo<NewsType> newsTypeList(NewsType newsType){

        // pageNum当前页面  pageSize每页大小
        PageHelper.startPage(newsType.getPageNum(), newsType.getPageSize());
        List<NewsType> newsTypes = newsTypeDao.newsTypeList(newsType);
        PageInfo<NewsType> pageInfo = new PageInfo<NewsType>(newsTypes);
        return pageInfo;
    }


    //删除新闻类型
    public void delete(Integer id) {
        newsTypeDao.delete(id);
    }

    //保存新闻类型
    public void save(NewsType newsType,String adminToken) {
        //根据token查到操作人id并添加进去
        newsType.setAdmin(JWTUtil.getAdminByToken(adminToken));
        //将其余元素添加进去
        newsTypeDao.save(newsType);
    }

    //根据id查找新闻类型
    public NewsType findTypeById(Integer id) {
        NewsType newsType = newsTypeDao.findTypeById(id);
        return newsType;
    }

    //更新新闻类型的内容
    public void update(NewsType newsType, String adminToken) {
        //根据token查到操作人id并添加进去
        newsType.setAdmin(JWTUtil.getAdminByToken(adminToken));
        newsTypeDao.update(newsType);
    }
}
